C++2MPI: A Software Tool for Automatically Generating MPI Datatypes from C++ Classes

نویسندگان

  • Roger Hillson
  • Michal Iglewski
چکیده

The Message Passing Interface 1.1 (MPI 1.1) standard defines a library of message-passing functions for parallel and distributed computing. We have developed a new software tool called C++2MPI which can automatically generate MPI derived datatypes for a specified C++ class. C++2MPI can generate data types for derived classes, for partially and fully-specialized templated classes, and for classes with private data members. Given one or more user-provided classes as input, C++2MPI generates, compiles and archives a function for creating the MPI derived datatype. When the generated function is executed, it builds the derived MPI datatype if the datatype does not already exist, and returns the value of an MPI handle for referencing the datatype. PGMT (Processing Graph Method Tool) is a set of application program interfaces for porting the Processing Graph Method (PGM), a parallel programming method, to diverse networks of processors. C++2MPI was developed as a component of PGMT, but can be used as a stand-alone tool. Steerin g Angl e Acous t i c Array Shading Weights NSE Windo w Size Acoustic Array Data in from file k Overlap B lock s i z e k nput t o k e n s

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Tool for Automated Generation of MPI Datatypes

With the increasing availability of massively parallel high performance computing systems on the one hand, and the growing importance of computer based simulations on the other, MPI has become the industry standard tool for efficient message passing. However, users still have to manually maintain descriptions of their custom datatypes in order to enable MPI to successfully transmit them. We pre...

متن کامل

Towards Portable Message Passing in Java: Binding MPI

In this paper we present a way of successfully tackling the diiculties of binding MPI to Java with a view to ensuring portability. We have created a tool for automatically binding existing native C libraries to Java, and have applied the Java{to{C Interface generating tool (JCI) to bind MPI to Java. The approach of automatic binding by JCI ensures both portability across diierent platforms and ...

متن کامل

MARMOT: An MPI Analysis and Checking Tool

The Message Passing Interface (MPI) is widely used to write parallel programs using message passing. MARMOT is a tool to aid in the development and debugging of MPI programs. This paper presents the situations where incorrect usage of MPI by the application programmer is automatically detected. Examples are the introduction of irreproducibility, deadlocks and incorrect management of resources l...

متن کامل

Automatic Memory Optimizations for Improving MPI Derived Datatype Performance

MPI derived datatypes allow users to describe noncontiguous memory layout and communicate noncontiguous data with a single communication function. This powerful feature provides an MPI implementation with optimized transfer of noncontiguous data. In practice, however, many implementations of MPI derived datatypes perform poorly, which makes application developers avoid using this feature. In th...

متن کامل

MPI++: Issues and Features

The draft of the MPI (Message-Passing Interface) standard was released at Supercomputing '93, November 1993. The nal MPI document is expected to be released in mid-April of 1994. Language bindings for C and FORTRANwere included in the draft; however, a language binding for C++ was not included. MPI provides support for datatypes and topologies that is needed for developing numerical libraries, ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000